<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 选择排序

    var list = [86, 58, 61, 43, 92, 71];
    console.log("原数组", list);

    // 从小到大
    // 第一轮: 拿第一个值和后面所有的值比较,记录最小值的下标 => 全部比较完 将最小值放在第一位
    // 第二轮: 拿第二个值和后面所有的值比较,记录第二小的值的下标 => 全部比较完 将最二小的值放在第二位
    // 第三轮: 拿第三个值和后面所有的值比较,记录第三小的值的下标 => 全部比较完 将最三小的值放在第三位

    // 外层循环走一次  内存循环走一轮

    // 外层循环 控制循环的次数
    // i < list.length - 1   =>  n个数比n-1次
    for (var i = 0; i < list.length - 1; i++) {
        var minIndex = i; //假设第i个值是最i小值   0 1

        // 内层循环 每轮执行的操作
        for (var j = i + 1; j < list.length; j++) {
            if (list[j] < list[minIndex]) {  // 如果存在比它 还要小的数,记录下标
                minIndex = j;
            }
        }
        console.log(minIndex);

        if (minIndex == i) continue;

        var temp = list[i];
        list[i] = list[minIndex];
        list[minIndex] = temp;
        console.log(list);
    }














</script>

</html>